package cn.gxljc.technology.store_management.service.superadminservice.modules;


import cn.gxljc.technology.store_management.entity.Warehouse;
import org.springframework.stereotype.Component;

import java.util.List;

/**
 * 该接口有关所有仓库的业务操作
 */
@Component
public interface RepositoryManagement {


    /**
     * 功能：创建仓库
     * 输入参数：仓库名称，仓库位置，仓库管理员名字
     * 输出参数：0创建成功，-1创建失败，-2仓库重复
     */
    Integer createRepository(int repositoryID, String repositoryName, String repositoryLocation, String adminName);


    /**
     * 功能：删除仓库
     * 输入参数：仓库ID
     * 输出参数：0删除成功，-1删除失败，-2不存在该仓库
     */
    Integer deleteRepository(int repositoryID);


    /**
     * 功能：查找所有仓库数据
     */
    List<Warehouse> findAllRepository();


    /**
     * 功能：修改仓库信息
     * 输入参数：仓库ID，仓库名称，仓库位置
     * 输出参数：0修改成功，-1修改失败，-2没有对应的仓库
     */
    Integer changeRepositoryInfo(int repositoryID, String repositoryName, String repositoryLocation);


    /**
     * 功能：查找仓库所有信息
     * 输入参数：仓库ID
     * 输出参数：warehouse查找成功，null查找失败
     */
    Warehouse findRepository(int repositoryID);


    /**
     * 功能：是否存在仓库
     * 输入参数：仓库ID
     * 输出参数：1存在仓库，0不存在仓库
     */
    Integer isRepositoryExist(int repositoryID);


}
